Worst-Case Optimal Priority Queues via Extended Regular Counters
نویسندگان
چکیده
We consider the classical problem of representing a collection of priority queues under the operations find-min, insert , decrease, meld , delete, and delete-min. In the comparison-based model, if the first four operations are to be supported in constant time, the last two operations must take at least logarithmic time. Brodal showed that his worst-case efficient priority queues achieve these worst-case bounds. Unfortunately, this data structure is involved and the time bounds hide large constants. We describe a new variant of the worst-case efficient priority queues that relies on extended regular counters and provides the same asymptotic time and space bounds as the original. Due to the conceptual separation of the operations on regular counters and all other operations, our data structure is simpler and easier to describe and understand. Also, the constants in the time and space bounds are smaller. In addition, we give an implementation of our structure on a pointer machine. For our pointermachine implementation, decrease and meld are asymptotically slower and require O(lg lgn) worst-case time, where n denotes the number of elements stored in the resulting priority queue.
منابع مشابه
Optimal Purely Functional Priority Queues
Brodal recently introduced the first implementation of imperative priority queues to support findMin, insert, and meld in O(1) worst-case time, and deleteMin in O(log n) worst-case time. These bounds are asymptotically optimal among all comparison-based priority queues. In this paper, we adapt Brodal’s data structure to a purely functional setting. In doing so, we both simplify the data structu...
متن کاملA Note on Worst Case Eecient Meldable Priority Queues
We give a simple implementation of meldable priority queues, achieving Insert, Find min, and Meld in O(1) worst case time, and Delete min and Delete in O(log n) worst case time.
متن کاملWorst Case Efficient Data Structures
We study the design of efficient data structures. In particular we focus on the design of data structures where each operation has a worst case efficient implementations. The concrete problems we consider are partial persistence, implementation of priority queues, and implementation of dictionaries. The first problem we consider is how to make bounded in-degree and out-degree data structures pa...
متن کاملReflected min-max heaps
In this paper we present a simple and efficient implementation of a min-max priority queue, reflected min-max priority queues. The main merits of our construction are threefold. First, the space utilization of the reflected min-max heaps is much better than the naive solution of putting two heaps back-to-back. Second, the methods applied in this structure can be easily used to transform ordinar...
متن کاملA General Technique for Implementation of Efficient Priority Queues
This paper presents a very general technique for the implementation of mergeable priority queues. The amortized running time is O(log n) for DeleteMin and Delete, and (1) for all other standard operations. In particular, the operation DecreaseKey runs in amortized constant time. The worst-case running time is O(log n) or better for all operations. Several examples of mergeable priority queues a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012